package com.ee.chat.api.service;

import com.ee.chat.api.vo.UserAuditVO;
import com.ee.chat.common.bean.Result;

/**
 * @Author Shane
 * @Date 2019/7/28 23:14
 */
public interface IUserService {
    /**
     * 
     * @Author Shane
     * @Date 2019/8/817:50
     * @param 
     * @return
     **/
    Result getUserInfo(String token) throws Exception;

    /**
     * 获取用户访问记录
     * @Author Shane
     * @Date 2019/8/911:20
     * @param type  访问类型，0-我访问的  1-访问我的
     * @return
     **/
    Result getUserAccessLogs(String token, Integer type, Integer page, Integer limit) throws Exception;

    /**
     * 获取用户动态
     * @Author Shane
     * @Date 2019/8/911:57
     * @param
     * @return
     **/
    Result getUserDynaimcs(String token, Integer page, Integer limit) throws Exception;

    /**
     * 获取用户朋友
     * @Author Shane
     * @Date 2019/8/912:09
     * @param type  朋友，0-关注  1-粉丝
     * @return
     **/
    Result getUserFriends(String token, Integer toUserId, Integer type, Integer page, Integer limit) throws Exception;
    
    /**
     * 设置勿扰模式
     * @Author Shane
     * @Date 2019/8/916:54
     * @param dnd   勿扰模式，0-关闭  1-开启
     * @return
     **/
    Result setDND(String token, Integer dnd) throws Exception;

    /**
     * 获取认证资料
     * @Author Shane
     * @Date 2019/8/10 19:36
     * @param
     * @return
     */
    Result getAuditInfo(String token) throws Exception;

    /**
     * 获取城市行政区划库
     * @Author Shane
     * @Date 2019/8/1912:28
     * @param
     * @return
     **/
    Result getAreaLib(String token) throws Exception;

    /**
     * 获取标签库
     * @Author Shane
     * @Date 2019/8/1912:30
     * @param host  0-用户，1-主播
     * @return
     **/
    Result getLableLib(String token, Integer host) throws Exception;

    /**
     * 获取星座信息库错误
     * @Author Shane
     * @Date 2019/8/2019:32
     * @param
     * @return
     **/
    Result getUSSLib(String token) throws Exception;

    /**
     * 获取职业库
     * @Author Shane
     * @Date 2020/4/1 17:38
     * @param
     * @return
     */
    Result getProLib(String token) throws Exception;

    /**
     * 获取情感库
     * @Author Shane
     * @Date 2020/4/1 17:39
     * @param
     * @return
     */
    Result getEmLib(String token) throws Exception;

    /**
     * 保存主播资料
     * @Author Shane
     * @Date 2019/8/9 23:34
     * @param userAuditVO   主播资料错误
     * @return
     */
    Result saveAuditInfo(UserAuditVO userAuditVO) throws Exception;

    /**
     * 加关注/取消关注
     * @Author Shane
     * @Date 2019/10/5 16:44
     * @param toUserId  用户id
     * @return
     */
    Result focus(String token, Integer toUserId, Integer type) throws Exception;

    Result addCallContent(String token, String content) throws Exception;

    Result saveCallContent(String token, String contents) throws Exception;

    Result delCallContent(String token, String ids) throws Exception;

    Result getCharge(String token) throws Exception;

    Result setCharge(String token, Integer chargeId) throws Exception;

    Result getInviteInfo(String token) throws Exception;

    Result getInviteUser(String token, Integer page, Integer limit) throws Exception;

    Result getInviteAward(String token, Integer page, Integer limit) throws Exception;

    Result getCellUserInfo(String token, Integer toUserId) throws Exception;

    Result setPrivacy(String token, Integer privacy) throws Exception;

    Result setLocal(String token, Integer local) throws Exception;

    Result getInviteUrl(String token) throws Exception;
}
